1. Technical Field
The present invention is directed to a digital processing device, more specifically to a digital processing device including a shared memory shared by a plurality of processors.
2. Description of the Related Art
In a digital processing device, a portable terminal refers to a compact electronic device that is designed to be easily carried by a user in order to perform functions such as game or mobile communication. The portable terminal can be a mobile communication terminal, a personal digital assistant (PDA), a portable multimedia player (PMP) or an MP3 player.
The mobile communication terminal is essentially a device designed to enable a mobile user to telecommunicate with a receiver who is remotely located. Thanks to scientific development, however, the latest mobile communication terminals have functions, such as camera and multimedia data playback, in addition to the basic functions, such as voice communication, short message service and address book.
FIG. 1 is a block diagram illustrating a conventional mobile communication terminal having a camera function.
Referring to FIG. 1, the mobile communication terminal 100 having a camera function includes a high frequency processing unit 110, an analog-to-digital converter 115, a digital-to-analog converter 120, a processing unit 125, a power supply 130, a key input 135, a main memory 140, a display 145, a camera 150, an video processing unit 155 and a support memory 160.
The high frequency processing unit 110 processes a high frequency signal, which is transmitted or received through an antenna.
The analog-to-digital converter 115 converts an analog signal, outputted from the high frequency processing unit 110, to a digital signal and sends it to the processing unit 125.
The digital-to-analog converter 120 converts a digital signal, outputted from the processing unit 125, to an analog signal and sends it to the high frequency processing unit 110.
The processing unit 125 controls the general operation of the mobile communication terminal 100. The processing unit 125 can include a central processing unit (CPU) or a micro-controller.
The power supply 130 supplies electric power required for operating the mobile communication terminal 100. The power supply 130 can be coupled to, for example, an external power source or a battery.
The key input 135 generates key data for, for example, setting various functions or dialing of the mobile communication terminal 100 and sends the key data to the processing unit 125. For example, the key input unit 135 can be realized as a key pad including a plurality of key buttons.
The main memory 140 stores an operating system and a variety of data of the mobile communication terminal 100. The main memory 140 can be, for example, a flash memory or an EEPROM (Electrically Erasable Programmable Read Only Memory).
The display 145 displays the operation status of the mobile communication terminal 100 and an external video photographed by the camera 150.
The camera 150 photographs an external video (a photographic subject) and generates and outputs a video signal corresponding to the photographed external video.
The video processing unit 155 processes the external video photographed by the camera 150. The video processing unit 155 can perform functions such as color interpolation, gamma correction, video quality correction and JPEG encoding. The camera 150 and the video processing unit 155 can be controlled by the processing unit 125.
The support memory 160 stores the external video processed by the video processing unit 155.
As described above, the mobile communication terminal 100 having a camera function is equipped with a plurality of processors (i.e. a main processor and at least one application processor for performing a predetermined additional function, controlled by the main processor). For example, the processing unit 125 for controlling general functions of the mobile communication terminal 100 and the video processing unit 155 for controlling the camera function are included in the mobile communication terminal 100, as illustrated in FIG. 1. Here, the video processing unit 155 is controlled by the processing unit 125. The processing unit 125 and the video processing unit 155 are embodied as a separate processor, respectively, and each processing unit is structured to be coupled with an independent memory.
The type of the application processor, which can be realized as a separate processor, respectively, and controlled by the main processor, can be varied depending on the additional function equipped in the portable terminal. For example, the application processor for controlling the camera function can process functions such as JPEG encoding and JPEG decoding; the application processor for controlling the movie file playback function can process functions such as video file (e.g., MPEG4, DIVX, H.264) encoding and decoding; and the application processor for controlling the music file playback function can process functions such as audio file encoding and decoding. Of course, there can be an application processor that can process various aforementioned functions altogether.
Each of these processing units has an individual memory for storing the data processed by the processing unit. Thus, according to the related art, it is necessary to increase the number of processing units and memories as portable terminals become increasingly multifunctional, which, as a result, causes to increase the external size of the portable terminal.
FIG. 2 is an example illustrating a coupling structure among a main processor, an application processor and their corresponding memories in accordance with the related art.
Referring to FIG. 2, a main processor 210 and an application processor 220 communicate information (e.g., a command for controlling the application processor and data to be processed by the application processor 220) through a coupled bus. A bus typically refers to a common-purpose electric pathway that is used to transmit information between the processor, the main memory and the input/output in a device such as a computer. The bus includes a line for data, designating the address of each device or the location of the memory, and a line for distinguishing a variety of data transmission operation to be processed. The bus, which couples the main processor 210 to the application processor 220, is called an MP (main processor)-AP (application processor) bus.
The main processor 210 is coupled to the main memory 230 through a bus, which called an MP (main processor)-MM (main memory) bus, and the application processor 220 is coupled to the supplementary memory 240 through another bus, which is called an AP (application processor)-AM (application memory) bus.
Also, the application processor 220, which is coupled to the display device 250, allows information, corresponding to a command of the main processor 210, information, transferred from the main processor 210, or data, processed by the application processor 220, to be displayed through the display device 250.
As illustrated in FIG. 2, the processors 210 and 220 is independently coupled to the memories 230 and 240, respectively. Accordingly, depending on the operation that should be currently running, the main processor 210, for example, reads data stored in the main memory 230 and transmits the data to the application processor 220 through the host interface or reads data stored in the supplementary memory 240 by requesting the application processor 220.
In other words, in case a certain process operation is to be processed in the main processor 210 and the application processor 220, respectively, in order to process certain data, the main processor 210 first accesses the main memory 230 to read data and performs a necessary operation processing of the read data. Then, the main processor 210 transmits the processed data to the application processor 220. The application processor 220 re-processes the received data and stores the data in the supplementary memory 240. Then, the application processor 220 transmits the data, stored in the supplementary memory 240, back to the main processor 210 so as to be stored in the main memory 230.
In this case, the larger the amount of data is communicated between the main processor 210 and the application processor 220, the more time each of the processors 210 and 220 has to spend on the operation (i.e. memory accessing, data reading, host interface operating) requested by the other processor rather than the operation of its own process.
For example, in the case of processing 3-D graphic data having large transmission amount and being displayed through the display device 250, the main processor 210 reads and processes the data, stored in the main memory 230, and transmits the processed data to the application processor 220 through the MP-AP bus. The application processor 220 stores the data (e.g., polygon data and texture data), received through the MP-AP bus in the application memory 240, and then, reads and processes the stored data so as to be displayed through the display 250.
In the case of processing the 3-D graphic data, there is naturally a large amount of data transmitted between the main processor 210 and the application processor 220, to thereby lead to loss of the unnecessary time and the processing efficiency of each processor 210 and 220 in the operation transmitted and received with large data.
Beside that, a bottleneck is caused in data communication between the main processor 210 and the application processor 220 as the amount of data to be processed and the functions performed by the portable terminal increase.
As a result, the problems described above weaken the overall performance of a multi-function portable terminal.